package com.hzjy.api.mapper;

import com.hzjy.api.beans.HzjyAgreement;
import com.hzjy.api.vo.AgreementDTO;
import com.hzjy.api.vo.DelistListVO;
import com.hzjy.common.utils.PageData;

import java.util.List;


/**
 * 协议书，合同Mapper接口
 *
 * @author hzjy
 * @date 2020-08-25
 */
public interface HzjyAgreementMapper {
    /**
     * 查询协议书，合同
     *
     * @param id 协议书，合同ID
     * @return 协议书，合同
     */
    public HzjyAgreement selectHzjyAgreementById(Long id);

    /**
     * 查询协议书，合同列表
     *
     * @param hzjyAgreement 协议书，合同
     * @return 协议书，合同集合
     */
    public List<HzjyAgreement> selectHzjyAgreementList(HzjyAgreement hzjyAgreement);

    /**
     * 新增协议书，合同
     *
     * @param hzjyAgreement 协议书，合同
     * @return 结果
     */
    public int insertHzjyAgreement(HzjyAgreement hzjyAgreement);

    /**
     * 修改协议书，合同
     *
     * @param hzjyAgreement 协议书，合同
     * @return 结果
     */
    public int updateHzjyAgreement(HzjyAgreement hzjyAgreement);

    /**
     * 删除协议书，合同
     *
     * @param id 协议书，合同ID
     * @return 结果
     */
    public int deleteHzjyAgreementById(Long id);

    /**
     * 批量删除协议书，合同
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteHzjyAgreementByIds(Long[] ids);

    /**
     * 摘牌信息
     *
     * @return
     */
    List<DelistListVO> delistList(PageData pd);

    /**
     * 查询我的合同
     * @param hzjyAgreement
     * @return
     */
    List<HzjyAgreement> selectMyHzjyAgreementList(HzjyAgreement hzjyAgreement);

    /**
     * wx查询用户合同列表
     * @param pageData
     * @return
     */
    List<PageData> queryMyHzjyAgreementList(PageData pageData);

    /**
     * 查询合同列表总条数
     * @param pageData
     * @return
     */
    PageData getAgreementNum(PageData pageData);

    /**
     * 后台查询合同列表
     * @param agreementDTO
     * @return
     */
    List<AgreementDTO> selectAgreementList(AgreementDTO agreementDTO);

    /**
     * 后台查询合同列表总条数
     * @param agreementDTO
     * @return
     */
    Integer selectAgreementNum(AgreementDTO agreementDTO);
}
